Coding Challenge Refactoring: Metaballs

I took the Coding Challenge of Metaballs from The Coding Train (Dan Shiffman) and refactored it in an object oriented way. When the metaballs collide with the edges of the canvas, they speed up. A counter is also at the top of the canvas which displays how many times the canvas edges are hit.

Impact on Me as a Student

This project helped me learn a few things. Firstly, it helped me to learn more about and understand classes, objects, functions and object inheritance. These were certain large structures of the code that I was dealing with. It taught me a new math concept, Isosurfaces as well as the "Metaball" object as its function as an isosurface. It taught me more about the application of mathematical concepts and functions to code. It also impacted me by giving me a further understanding of object-oriented programming and using someone else's code to create something unique of your own. In object-oriented programming, you're creating data structures and the operations that run within them. With this challenge, I couldn't simply change a few values and be done. I had to refactor the code so that something within the structure of the code would be different and would be running different operations within them. In order to accomplish this I had to try and learn and understand the code and concepts behind them to the best of my abilities. This translates to my abilities of a student as in order to do well I have to be able to learn what is being taught. I learned more about how to program in an object-oriented way by creating and altering data structures and the functions that run within them which is what object-oriented programming is about.

How Will I use this to Continue Learning?

I will use this to continue to learn about object-oriented programming and the capabilities of computer science. The enhancement of my knowledge in classes and objects will help me to continue to code new things creatively and in an object-oriented way. The concept of isosurfaces also taught me more about the applications of functions and how they are used in a way I hadn't previously known of and I can use this to continue learning about functions and their applications to mathematics and computer science and graphics. This will allow me to better understand the link between mathematics and computer science.

Tweeting Dan Shiffman

As part of an aspect of the project, we created a Twitter account and tweeted the original creator of the challenge, Dan Shiffman AKA The Coding Train, with our creative refactorings. You can find it here!